python爬虫自动创建文件夹,与自动爬取信息保存至本地html实现

1.创建文件夹的功能:

#file setting

folder_path = "D:/spider_things/2016.4.6/" + file_name +"/"

if not os.path.exists(folder_path):

os.makedirs(folder_path)

上面代码块的意思是:
"os.path.exists(folder_path)"用来判断folder_path这个路径是否存在,如果不存在,就执行“os.makedirs(folder_path)”来创建这个路径

 

2.爬取信息并保存至本地html(保存网页信息)

import urllib.request
import pymysql


#------------------pymysql
# 数据库
conn = pymysql.connect(host='主机名IP', user='用户名', passwd='密码', db='数据库名')


cur = conn.cursor()
sql = "select 网站的URL,需要创建文件的名称 from 表名"
reCount = cur.execute(sql)  # 返回受影响的行数
data = cur.fetchall()

def getHtml(url):
    html = urllib.request.urlopen(url).read()
    return html

def saveHtml(file_name, file_content):
    # 注意windows文件命名的禁用符,比如 /
    with open("E:/fangguan_html/{0}.html".format(file_name), "wb") as f:
        # 写文件用bytes而不是str,所以要转码
        f.write(file_content)

for i in range(reCount):
    html = getHtml(data[i][0])
    saveHtml(data[i][1], html)
    print(data[i][1])
    print("下载成功:-------------------{0}".format(i))

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现持续自动爬取网站上的图片并保存到指定文件中,您可以使用循环和定时器来定期执行爬取操作。以下是一个示例代码: ```python import requests from bs4 import BeautifulSoup import os import time def download_image(url, save_dir): # 发送请求获取网页内容 response = requests.get(url) # 解析网页 soup = BeautifulSoup(response.content, 'html.parser') # 找到所有的图片标签 img_tags = soup.find_all('img') # 创建保存图片的文件 if not os.path.exists(save_dir): os.makedirs(save_dir) # 遍历图片标签,下载并保存图片 for img_tag in img_tags: img_url = img_tag['src'] # 判断图片链接是否为完整链接 if not img_url.startswith('http'): img_url = url + img_url try: # 发送请求下载图片 response = requests.get(img_url) # 获取图片的文件名 img_name = img_url.split('/')[-1] # 保存图片到指定文件 with open(os.path.join(save_dir, img_name), 'wb') as f: f.write(response.content) print(f'Successfully downloaded {img_name}') except Exception as e: print(f'Failed to download image: {img_url}') print(e) # 要爬取的网页链接 url = 'https://example.com' # 图片保存的文件路径 save_dir = 'images' # 爬取间隔时间(秒) interval = 60 while True: # 调用函数进行图片下载 download_image(url, save_dir) # 等待一段时间后再次执行爬取操作 time.sleep(interval) ``` 在这个示例代码中,我们使用了一个无限循环来持续执行爬取操作。在每次循环中,先调用`download_image`函数来下载图片,然后通过`time.sleep`函数等待一段时间后再次执行循环。您可以根据需要调整`interval`变量来设置爬取间隔时间。 请注意,持续自动爬取网站上的图片可能对目标网站的服务器造成压力,因此请确保您的爬取行为是合法且不对网站造成过大的负担。另外,一些网站可能有反爬虫机制,请遵守网站的规定并尊重其隐私政策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值